﻿namespace moving_game
{
    internal class Program
    {
        /// <summary>
        /// 使用WSAD移动光标
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //建立x,y坐标系
            int x = 0, y = 0;
            //定义输入的类型为ConsoleKey
            ConsoleKey input;
            //利用循环重复进行移动过程
            do
            {
                //清屏
                Console.Clear();
                //定位“Hello”的初始位置
                Console.SetCursorPosition(x, y);
                //输出“Hello”
                Console.Write("Hello");
                //将键盘输入的值赋给input
                input = Console.ReadKey(true).Key;
                //分列指令所代表的操作
                switch (input)
                {
                    //W表示光标上移
                    case ConsoleKey.W:
                        if (y > 0) y--;
                        break;
                    //S表示光标下移
                    case ConsoleKey.S:
                        if (y < 80) y++;
                        break;
                    //A表示光标左移
                    case ConsoleKey.A:
                        if (x > 0) x--;
                        break;
                    //D表示光标右移
                    case ConsoleKey.D:
                        if (x < 80) x++;
                        break;
                    //输入其他键不进行移动操作
                    default:
                        break;
                }
            //按Enter结束程序
            } while (input != ConsoleKey.Enter);
            Console.WriteLine("\nTap Enter again to end the program!");
            Console.ReadKey();
        }
    }
}